This invention relates to generation and regeneration of graphical elements in a computer-aided design system.
Computer systems that display graphical elements, such as computer-aided design (CAD) systems, need to manage the elements and display the elements properly as elements are added, deleted, moved, or modified. Management of graphical elements can be particularly difficult in three-dimensional design systems, and in situations in which the elements are linked to metadata. For instance, a designer working at a graphics terminal may be working on a full model of an object, but the terminal may only be displaying a portion of the model at any one time. At times, it may be necessary to regenerate the portion of the model on which the designer is working, or it may be necessary to regenerate a portion of the model to which the designer would like to move. It may also be necessary to regenerate elements that the user has changed and to propagate the changes to other elements that are associated with, or constrained by, the changed element. Before a portion of the model may be regenerated, the system must compute the location and appearance of graphical element in the model. Between regenerations, individual drawing elements can be altered without having to re-compute a large group of elements. But the ability to alter the display of a model with changes only to individual elements in the model ultimately is limited. In addition, it is helpful to provide a designer with multiple views of a three-dimensional model. In such a situation, if the designer makes changes to the model in one view, it may be necessary to reflect those changes in the other views.
It is desirable to increase the speed of the regeneration process, or alternatively, to decrease the time it takes to perform a regeneration. However, it is generally necessary that any changes that have occurred to a model since the last regeneration be taken into account in future regenerations and be reflected appropriately in all views. Thus, if the drawing model is a model of a house, a movement of a door or window by an architect working with the system should be reflected after the door or window has been moved, and should be reflected in a plan view, an elevation view, or in a three-dimensional view. At the same time, it is also desirable that the model properly reflect parametric constraints that have been placed on the model elements by the user or by the system. For example, if a user moves a wall, the system should also move any elements, such as windows or doors, located in the wall. Thus, an accurate yet speedy system for generating graphic elements is desirable.